package server

type ISessionHandle interface {
	Init(session *Session)
	// 校验会话是否合法 true-合法,false-非法会自动断开链接
	OnHandshake(session *Session) bool
	// 校验会话成功后触发执行
	OnConnect(session *Session)
	OnMessage(session *Session, data []byte)
	OnClose(session *Session, err error)
	// 会话读空闲超时触发
	OnReadIdleTimeout(session *Session)
	// 会话写空闲超时触发
	OnWriteIdleTimeout(session *Session)
	// 会话空闲超时触发
	OnIdleTimeout(session *Session)
	GetSessionId(session *Session) int64
	// 会话冲突处理,返回需要保留的会话
	OnConflict(session *Session, newSession *Session) *Session
}
